/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

/**
 *
 * @author Carlos
 */
import Vista.Datos;
import java.io.*;
import Vista.Grafico;
import java.awt.Image;
import java.awt.MediaTracker;

public class Astillero extends Militar implements Serializable {
    public static int longx=3;
    public static int longy=2;
    //public static Objeto[] ArrAereos;
    public static int[][] precioU ={{100,0,0,0,1},{150,0,0,0,2},{200,0,0,0,4}};
    public static int[] precio = {200, 10, 50, 20};
    private char simbolo = 'A';
    public final static int nivelRequerido = 5;
    public static char compatible = '.';
    public static Image imagen;
        public static void cargar(){
            MediaTracker mt = new MediaTracker( Grafico.applet ) ;
            imagen=Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\Astillero.png");
            mt.addImage(imagen,0);
            try {
                mt.waitForAll();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    public void trueUsado(){
        usado=true;
    }
    public void falseUsado(){
        usado=false;
    }
    public boolean getUsado(){
        return usado;
    }
    public char getSimbolo(){
        return simbolo;
    }

    public Image getImagen(){
        return imagen;
    }
    public int getLongx(){
        return longx;
    }
    public int getLongy(){
        return longy;
    }

    public Astillero(){
	super();
        Juego.gold -= precio[0];
        Juego.experiencia++;
        //setlongx ( 3 ) ;
        //setlongy ( 2 ) ;
    }

    public void mostrar(){
	for(int i = 0; i < 3; i++){
            System.out.print((i+1) + ") ");
            if(i==0) System.out.print("Canhonera");
            else if(i==1) System.out.print("PortaAviones");
            else System.out.print("Acorazado");
            System.out.print("   Cuesta: ");

            if(precioU[i][0]>0) System.out.println( precioU[i][0]+" de gold ");
            if(precioU[i][1]>0) System.out.println( precioU[i][1]+" de silver ");
            if(precioU[i][2]>0) System.out.println( precioU[i][2]+" de madera ");
            if(precioU[i][3]>0) System.out.println( precioU[i][3]+" de petroleo ");
	}
    }

    public void asignarTrabajo(int indice){
        indice--;
        if(precioU[indice][4]<= Juego.nivel){
            if( (Juego.gold  >= precioU[indice][0]) && Juego.silver   >=precioU[indice][1] &&
                Juego.madera  >=precioU[indice][2] && Juego.petroleo >=precioU[indice][3]){
                setEstado(indice);
                setTiempoInicio(Juego.turno);
                Juego.gold = Juego.gold - precioU[indice][0];
                Juego.silver = Juego.silver -precioU[indice][1];
                Juego.madera = Juego.madera - precioU[indice][2];
                Juego.petroleo = Juego.petroleo - precioU[indice][3];
                //System.out.println("Se asigno el trabajo correctamente");
                Datos.mostrarPrincipal("Se asigno el trabajo correctamente");
                Juego.energia--;
            }
            else //System.out.println("No se tiene los recursos suficientes");
                Datos.mostrarPrincipal("No se tiene los recursos suficientes");
        }else //System.out.println("No se tiene el nivel suficiente");
            Datos.mostrarPrincipal("No se tiene el nivel suficiente");
    }



    public UnidadMilitar recolectarUnidad() {
        UnidadMilitar unidad=null;
        switch(getEstado()){
            case 0:
                unidad=new Canhonera();
                break;
            case 1:
                unidad=new PortaAviones();
                break;
            case 2:
                unidad=new Acorazado();
                break;
        }
        setEstado(-1);
        tiempoInicio =Juego.turno;
        return unidad;
    }

}